办公环境下通过代理访问 github

183 字

办公环境下通过代理访问 github

来源:htmlDecode("云水木石")

原文链接:https://mp.weixin.qq.com/s/P9FbtNYMo6PRlmHxJybuFg


由于公司加强了安全管控,不允许个人使用私人 VPN 软件访问外网。虽然这会给个人带来不便,比如无法使用 ChatGPT、谷歌 Gemini 大模型,但也能理解,因为企业有合规要求。

目前受影响较大的是 GitHub,由于一些原因,国内访问 GitHub 非常不稳定,经常出现无法访问的情况。这对于从事开源软件开发的人员来说,极为不便。虽然国内也有 GitHub 的替代品,比如 Gitee、Coding 等,但我们产品的目标并不仅限于国内,使用 GitHub 的影响力更大。

好在公司提供了代理服务,虽然速度不如我私人使用的 VPN,但基本能够满足需求。这里就介绍一下在 Deepin V25 和 UOS V20 系统上,如何通过代理访问 GitHub。

公司提供的代理通常有两种形式:一种是直接提供 host:port 格式的 HTTP 代理,例如 10.20.52.40:3128;另一种是提供自动代理的 PAC 文件。

在 Deepin V25 和 UOS V20 上配置自动代理的界面如下:

如果使用的是 PAC 文件,如何获取真实的代理服务器地址呢?方法是使用 wget 工具下载上述配置 URL 指向的 PAC 文件,该文件为文本文件,内容大致如下:

文件中 PROXY 后面的内容即为代理服务器地址。获取代理服务器地址后,接下来就可以配置 GitHub 通过该代理访问了。

GitHub 仓库有两种访问方式,分别是 HTTPS 和 SSH。其中,HTTPS 方式通常适用于只有读取权限的仓库(如他人的开源仓库);而对于自己拥有的仓库,若不想每次操作都输入用户名和密码,开发者一般会选择 SSH 方式。

HTTPS 仓库的代理设置

首先配置 HTTP 代理:

export http_proxy=:
export https_proxy=:

配置完成后,即可克隆 GitHub 仓库:

git clone https://github.com/TigerVNC/tigervnc.git

如果不想每次都设置这两个环境变量,还可以给 Git 全局配置 HTTP/HTTPS 代理:

git config --global http.proxy http://:
git config --global https.proxy http://:

如果你只想让当前这个仓库走代理,进入项目目录后执行:

git config http.proxy http://:
git config https.proxy http://:

SSH 仓库的代理设置

1、安装 corkscrew 工具

sudo apt update
sudo apt install -y corkscrew

2、配置 SSH config 文件

创建或修改 ~/.ssh/config 文件,添加以下配置:

Host github.com
  Hostname ssh.github.com
  Port 443
  User git
  ForwardAgent yes
  ServerAliveInterval 55
  ProxyCommand /usr/bin/corkscrew   %h %p

将上述配置中的 ,替换为你的代理服务器地址和端口。

3、克隆 SSH 仓库

git clone git@github.com:TigerVNC/tigervnc.git

至此,github 访问的代理就配置完成了。